/*=======================================================
Critical Links
Auto Configuration Server

Authors:
	Rui Eduardo Gouveia Gil - r-gil@critical-links.com

Date: 2010
Version 0.1
=======================================================*/
#ifndef __ACSCONFIG_H__
#define __ACSCONFIG_H__

#include <map>
#include <iostream>

#include <boost/filesystem.hpp>
#include <boost/filesystem/operations.hpp>

namespace acs
{

class ACSConfig
{
	private:
		static unsigned int port;
		static std::string contentPath;
		static std::string privateKeyFile;
		static std::string certificateFile;

	public:
		static void setSystemDirectory(std::string contentPath);

		static void checkSystemDirectory();

		static void setPort(unsigned int port);
		static unsigned int getPort();

		static void setPrivateKeyFile(std::string path);
		static std::string getPrivateKeyFile();

		static void setCertificateFile(std::string path);
		static std::string getCertificateFile();

		static std::string getWebDirectory();
		static std::string getDataDirectory();
		static std::string getDataBaseDirectory();
};

}

#endif

